🧩 实战破解 Native Crash & ANR
📚 30 章 · 从入门到治理
友好
1
Native Crash
基础
SIGSEGV
SIGABRT
日志解读
2
ANR
基础
主线程阻塞
死锁
traces
3
环境搭建
NDK
交叉编译
addr2line
4
日志获取
adb logcat
tombstone
traces.txt
5
信号处理机制
sigaction
自定义处理器
6
Breakpad 集成
minidump
Android 集成
7
Crash 地址解析
addr2line
objdump
反混淆
8
常见 Crash 类型一
空/野指针
内存越界
栈溢出
9
常见 Crash 类型二
double free
use after free
内存泄漏
10
常见 Crash 类型三
多线程竞争
死锁
信号量
11
常见 Crash 类型四
JNI 错误
引用泄漏
异常未处理
12
实战案例一
SIGSEGV
日志到修复
13
实战案例二
SIGABRT
assert 失败
14
ANR 日志分析
traces.txt
主线程阻塞
15
ANR 常见原因一
主线程 IO
网络请求
复杂计算
16
ANR 常见原因二
Binder 超时
ContentProvider
BroadcastReceiver
17
ANR 常见原因三
锁竞争
线程饥饿
CPU 负载
18
ANR 常见原因四
Input 超时
Service 超时
屏幕旋转
19
ANR 监控方案
StrictMode
BlockCanary
FileObserver
20
ANR 实战案例一
InputDispatch
过度绘制
21
ANR 实战案例二
BroadcastReceiver
优化广播
22
Native 内存分析
AddressSanitizer
Valgrind
MallocDebug
23
Native 性能分析
perf
simpleperf
systrace
24
线上监控方案
Firebase
自建上报
ANR 率
25
Crash 与 ANR 关联
Native Crash→ANR
Watchdog
26
系统源码分析
Signal 处理
Zygote
SystemServer
27
高级调试技巧
GDB
LLDB
Android Studio
28
稳定性治理体系
Crash 率目标
灰度发布
回滚
29
自动化测试
Native 单元测试
压力测试
Monkey
30
总结与展望
常见误区
ART 趋势
AI 辅助